// encrypt/rsa.js
import JSEncrypt from 'jsencrypt';

/**
 * 使用RSA公钥加密
 * @param {string} publicKey - PEM格式公钥
 * @param {string} text - 需要加密的明文
 * @returns {string|null} - 加密后的密文（base64），失败返回null
 */
export function rsaEncrypt(publicKey, text) {
  const encryptor = new JSEncrypt();
  encryptor.setPublicKey(publicKey);
  return encryptor.encrypt(text);
}

/**
 * 使用RSA私钥解密
 * @param {string} privateKey - PEM格式私钥
 * @param {string} cipherText - 需要解密的密文（base64）
 * @returns {string|null} - 解密后的明文，失败返回null
 */
export function rsaDecrypt(privateKey, cipherText) {
  const decryptor = new JSEncrypt();
  decryptor.setPrivateKey(privateKey);
  return decryptor.decrypt(cipherText);
}
